/**
 * @file _axiom-dialog.scss
 * @description 对话框组件样式定义
 */

.axiom-dialog {
  // 对话框内容区域
  .axiom-dialog__content {
    min-height: 60px;
    line-height: 1.6;
    color: var(--axiom-text-color);
  }

  // 加载遮罩层
  .axiom-dialog__loading-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: rgba(var(--axiom-bg-color-rgb), 0.7);
    z-index: 10;
    border-radius: var(--axiom-border-radius-large);
  }

  // 底部按钮区域
  .axiom-dialog__footer {
    display: flex;
    justify-content: flex-end;
    padding: var(--axiom-dialog-footer-padding);
    border-top: 1px solid var(--axiom-border-color);
    gap: 0.75rem; // 为按钮添加间距
  }

  // 尺寸变体
  &.axiom-dialog--small {
    .el-dialog {
      .el-dialog__header {
        padding: var(--axiom-spacing-lg) var(--axiom-dialog-padding-vertical) var(--axiom-spacing-md);
      }
      
      .el-dialog__body {
        padding: var(--axiom-spacing-md) var(--axiom-dialog-padding-vertical) var(--axiom-dialog-padding-vertical);
        font-size: var(--axiom-font-size-base);
      }
    }
  }

  &.axiom-dialog--large {
    .el-dialog {
      .el-dialog__header {
        padding: var(--axiom-spacing-xl) 30px var(--axiom-spacing-lg);
      }
      
      .el-dialog__body {
        padding: var(--axiom-spacing-lg) 30px 30px;
        font-size: var(--axiom-font-size-large);
      }
    }
  }

  // 全屏模式
  &.axiom-dialog--fullscreen {
    .el-dialog {
      .el-dialog__header {
        border-bottom: 1px solid var(--axiom-border-color);
      }
    }
  }
}

// Element Plus Dialog 样式覆盖
.el-dialog {
  background-color: var(--axiom-bg-color-secondary) !important;
  border: 1px solid var(--axiom-border-color) !important;
  border-radius: var(--axiom-border-radius-large) !important;
  box-shadow: var(--axiom-box-shadow-base) !important;
  backdrop-filter: blur(var(--backdrop-blur, 0px)) !important;
  -webkit-backdrop-filter: blur(var(--backdrop-blur, 0px)) !important;

  .el-dialog__header {
    background-color: var(--axiom-bg-color-tertiary, var(--axiom-bg-color-secondary)) !important;
    border-bottom: 1px solid var(--axiom-border-color) !important;
    border-radius: var(--axiom-border-radius-large) var(--axiom-border-radius-large) 0 0 !important;
    padding: var(--axiom-dialog-padding-vertical) var(--axiom-dialog-padding-horizontal) var(--axiom-spacing-lg) !important;
    margin: 0 !important;

    .el-dialog__title {
      color: var(--axiom-text-color) !important;
      font-size: var(--axiom-dialog-title-font-size) !important;
      font-weight: 600 !important;
      line-height: 1.4 !important;
    }

    .el-dialog__headerbtn {
      top: var(--axiom-dialog-padding-vertical) !important;
      right: var(--axiom-dialog-padding-vertical) !important;
      width: 32px !important;
      height: 32px !important;
      border-radius: var(--axiom-border-radius-base) !important;
      transition: var(--axiom-transition-base) !important;

      &:hover {
        background-color: var(--axiom-danger-color) !important;
      }

      .el-dialog__close {
        color: var(--axiom-text-color) !important;
        font-size: var(--axiom-font-size-large) !important;

        &:hover {
          color: var(--axiom-text-color-on-primary, var(--axiom-text-color-inverse)) !important;
        }
      }
    }
  }

  .el-dialog__body {
    padding: var(--axiom-dialog-padding-vertical) var(--axiom-dialog-padding-horizontal) var(--axiom-dialog-padding-horizontal) !important;
    color: var(--axiom-text-color) !important;
    background-color: var(--axiom-bg-color-secondary) !important;
    border-radius: 0 0 var(--axiom-border-radius-large) var(--axiom-border-radius-large) !important;
  }

  .el-dialog__footer {
    padding: 0 var(--axiom-dialog-padding-horizontal) var(--axiom-dialog-padding-horizontal) !important;
    background-color: var(--axiom-bg-color-secondary) !important;
  }
}

// Modal 遮罩层
.el-overlay {
  background-color: var(--axiom-overlay-bg-color) !important;
  backdrop-filter: var(--axiom-overlay-backdrop-filter) !important;
  -webkit-backdrop-filter: var(--axiom-overlay-backdrop-filter) !important;
}

// 动画优化
.el-dialog.el-overlay-dialog {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

// Cyberpunk 主题专属“特效”
html.theme-cyberpunk {
  .el-dialog {
    background: linear-gradient(135deg, 
      rgba(30, 35, 70, 0.9), 
      rgba(45, 50, 85, 0.9)
    ) !important;
    border: 1px solid rgba(185, 51, 255, 0.3) !important;
    box-shadow: 
      0 0 20px rgba(185, 51, 255, 0.2),
      var(--box-shadow-base) !important;

    .el-dialog__header {
      background: linear-gradient(135deg, 
        rgba(45, 50, 85, 0.8), 
        rgba(30, 35, 70, 0.8)
      ) !important;
      border-bottom: 1px solid rgba(185, 51, 255, 0.3) !important;
    }

    .el-dialog__body, .el-dialog__footer {
      background: transparent !important;
    }
  }
}

// Neon 主题专属“特效”
html.theme-neon {
  .el-dialog {
    background-color: rgba(20, 20, 30, 0.95) !important;
    border: 1px solid rgba(57, 255, 20, 0.4) !important;
    box-shadow: 
      0 0 20px rgba(57, 255, 20, 0.3),
      var(--box-shadow-base) !important;

    .el-dialog__header {
      background-color: rgba(30, 30, 40, 0.95) !important;
      border-bottom: 1px solid rgba(57, 255, 20, 0.4) !important;
    }

    .el-dialog__body, .el-dialog__footer {
      background-color: transparent !important;
    }
  }
}